package com.adcc.ags.gms.gw.service;

import com.adcc.ags.gms.gw.entity.ServiceInfo;
import com.adcc.ags.gms.gw.vo.AMQSMonitorVO;
import com.adcc.ags.gms.gw.vo.GWMonitorVO;
import com.adcc.ags.gms.gw.vo.MQInfoMonitorVO;
import com.google.common.base.Optional;

import java.util.Date;
import java.util.List;

/**
 * Created by zhangpeng on 2016/10/13.
 */
public interface SysMonitorService {

    /**
     * 查找DB系统时间
     *
     * @return
     */
    public Optional<Date> findDBDateTime();

    /**
     * 取得服务监控记录数
     *
     * @return
     */
    public Optional<Long> getServiceCount();

    /**
     * 保存服务监控记录
     *
     * @param serviceInfo
     * @return
     */
    public Optional<Boolean> saveService(ServiceInfo serviceInfo);

    /**
     * 删除所有服务监控记录
     *
     * @return
     */
    public Optional<Boolean> deleteALLService();

    /**
     * 查询所有服务监控记录
     *
     * @return
     */
    public Optional<List<ServiceInfo>> findAllService();

    /**
     * 获取AMQS监控
     *
     * @return
     */
    public Optional<AMQSMonitorVO> getAmqsMonitor();

    /**
     * 获取MQ监控
     *
     * @return
     */
    public Optional<MQInfoMonitorVO> getMqMonitor();

    /**
     * 获取GW监控
     *
     * @return
     */
    public Optional<GWMonitorVO> getGWMonitor();

}
